package abg.core.domain.db;

import abg.core.common.mybatis.config.FieldInsert;
import abg.core.common.mybatis.config.FieldSet;
import abg.core.common.mybatis.config.FieldUpdate;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 组织机构表
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "sys_org", onUpdate = FieldUpdate.class, onInsert = FieldInsert.class, onSet = FieldSet.class)
public class SysOrg extends ZBEntity implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    //排序
    private int sort;

    //    	备注
    private String remark;

    //PID
    private String pid;

    //菜单名称
    private String name;

    //当前层级，根节点=0
    private String level;

    //层级全路径，JSON字符串数组
    private String treePath;

    //    	是否已禁用，0=正常，1=已禁用，默认为0
    private String isDisable;

    //    	资源集合；字符串数组
    private String res;

    //      排除资源；逗号分隔
    private String resExclude;

    //
    @Column(ignore = true)
    private List<Object> menuIds = new ArrayList<>();
}
